﻿using System;

namespace HigLabo.Net.Twitter
{
    /// <summary>
    /// 
    /// </summary>
    public class TwitterApiUrl
    {
        /// <summary>
        /// 
        /// </summary>
        public class Version1_1
        {
            /// <summary>
            /// 
            /// </summary>
            public class OAuth
            {
                /// <summary>
                /// 
                /// </summary>
                public static readonly String RequestToken = "api.twitter.com/oauth/request_token";
                /// <summary>
                /// 
                /// </summary>
                public static readonly String AuthorizeToken = "api.twitter.com/oauth/authorize";
                /// <summary>
                /// 
                /// </summary>
                public static readonly String AccessToken = "api.twitter.com/oauth/access_token";
            }
            /// <summary>
            /// 
            /// </summary>
            public class Statuses
            {
                /// <summary>
                /// 
                /// </summary>
                public static readonly String MentionsTimelineJson = "api.twitter.com/1.1/statuses/mentions_timeline.json";
                /// <summary>
                /// 
                /// </summary>
                public static readonly String UserTimelineJson = "api.twitter.com/1.1/statuses/user_timeline.json";
                /// <summary>
                /// 
                /// </summary>
                public static readonly String HomeTimelineJson = "api.twitter.com/1.1/statuses/home_timeline.json";
                /// <summary>
                /// 
                /// </summary>
                public static readonly String RetweetsOfMeJson = "api.twitter.com/1.1/statuses/retweets_of_me.json";
            }
            /// <summary>
            /// 
            /// </summary>
            public class Tweets
            {
                /// <summary>
                /// 
                /// </summary>
                public static readonly String GetRetweetsFormatUrl = "api.twitter.com/1.1/statuses/retweets/{0}.json";
                /// <summary>
                /// 
                /// </summary>
                public static readonly String GetShowFormatUrl = "api.twitter.com/1.1/statuses/show.json";
                /// <summary>
                /// 
                /// </summary>
                public static readonly String DestroyFormatUrl = "api.twitter.com/1.1/statuses/destroy/{0}.json";
                /// <summary>
                /// 
                /// </summary>
                public static readonly String UpdateFormatUrl = "api.twitter.com/1.1/statuses/update.json";
                /// <summary>
                /// 
                /// </summary>
                public static readonly String RetweetFormatUrl = "api.twitter.com/1.1/statuses/retweet/{0}.json";
                /// <summary>
                /// 
                /// </summary>
                public static readonly String UpdateWithMediaUrl = "api.twitter.com/1.1/statuses/update_with_media.json";
                /// <summary>
                /// 
                /// </summary>
                public static readonly String OembedFormatUrl = "api.twitter.com/1.1/statuses/oembed.json?id={0}";
            }
            /// <summary>
            /// 
            /// </summary>
            public static readonly String SearchUrl = "api.twitter.com/1.1/search/tweets.json";
            /// <summary>
            /// 
            /// </summary>
            public class DirectMessages
            {
                /// <summary>
                /// 
                /// </summary>
                public static readonly String DirectMessagesUrl = "api.twitter.com/1.1/direct_messages.json";
                /// <summary>
                /// 
                /// </summary>
                public static readonly String DirectMessagesSentUrl = "api.twitter.com/1.1/direct_messages/sent.json";
                /// <summary>
                /// 
                /// </summary>
                public static readonly String DestroyFormatUrl = "api.twitter.com/1.1/direct_messages/destroy.json";
                /// <summary>
                /// 
                /// </summary>
                public static readonly String NewUrl = "api.twitter.com/1.1/direct_messages/new.json";
                /// <summary>
                /// 
                /// </summary>
                public static readonly String GetDirectMessagesShowUrl = "api.twitter.com/1.1/direct_messages/show.json";
            }
            /// <summary>
            /// 
            /// </summary>
            public class Friends
            {
                /// <summary>
                /// 
                /// </summary>
                public static readonly String GetFollowersUrl = "api.twitter.com/1.1/followers/ids.json";
                /// <summary>
                /// 
                /// </summary>
                public static readonly String GetFriendsUrl = "api.twitter.com/1.1/friends/ids.json";
                /// <summary>
                /// 
                /// </summary>
                public static readonly String GetIncomingUrl = "api.twitter.com/1.1/friendships/incoming.json";
                /// <summary>
                /// 
                /// </summary>
                public static readonly String GetOutgoingUrl = "api.twitter.com/1.1/friendships/outgoing.json";
                /// <summary>
                /// 
                /// </summary>
                public static readonly String ShowUrl = "api.twitter.com/1.1/friendships/show.json";
                /// <summary>
                /// 
                /// </summary>
                public static readonly String CreateUrl = "api.twitter.com/1.1/friendships/create.json";
                /// <summary>
                /// 
                /// </summary>
                public static readonly String DestroyUrl = "api.twitter.com/1.1/friendships/destroy.json";
                /// <summary>
                /// 
                /// </summary>
                public static readonly String GetLookupUrl = "api.twitter.com/1.1/friendships/lookup.json";
                /// <summary>
                /// 
                /// </summary>
                public static readonly String UpdateUrl = "api.twitter.com/1.1/friendships/update.json";
                /// <summary>
                /// 
                /// </summary>
                public static readonly String GetNoRetweetIDsUrl = "api.twitter.com/1.1/friendships/no_retweets/ids.json";
                /// <summary>
                /// 
                /// </summary>
                public static readonly String GetFriendsListUrl = "api.twitter.com/1.1/friends/list.json";
                /// <summary>
                /// 
                /// </summary>
                public static readonly String GetFollowerListUrl = "api.twitter.com/1.1/followers/list.json";
            }
            /// <summary>
            /// 
            /// </summary>
            public class Users
            {
                /// <summary>
                /// 
                /// </summary>
                public static readonly String LookupUrl = "api.twitter.com/1.1/users/lookup.json";
                /// <summary>
                /// 
                /// </summary>
                public static readonly String SearchUrl = "api.twitter.com/1.1/users/search.json";
                /// <summary>
                /// 
                /// </summary>
                public static readonly String ShowUrl = "api.twitter.com/1.1/users/show.json";
                /// <summary>
                /// 
                /// </summary>
                public static readonly String ContributeesUrl = "api.twitter.com/1.1/users/contributees.json";
                /// <summary>
                /// 
                /// </summary>
                public static readonly String ContributorsUrl = "api.twitter.com/1.1/users/contributors.json";
                /// <summary>
                /// 
                /// </summary>
                public static readonly String GetProfileBannerUrl = "api.twitter.com/1.1/users/profile_banner.json";
                /// <summary>
                /// 
                /// </summary>
                /// <param name="screenName"></param>
                /// <param name="size"></param>
                /// <returns></returns>
                public static String GetProfileImageUrl(String screenName, ProfileImageSize size)
                {
                    return String.Format("http://api.twitter.com/1/users/profile_image?screen_name={0}&size={1}"
                        , screenName, size).ToLower();
                }
            }
            /// <summary>
            /// 
            /// </summary>
            public class Suggestions
            {
                /// <summary>
                /// 
                /// </summary>
                public static readonly String SuggestionsUrl = "api.twitter.com/1.1/users/suggestions.json";
                /// <summary>
                /// 
                /// </summary>
                public static readonly String SuggestionsSlugUrl = "api.twitter.com/1.1/users/suggestions/{0}.json";
                /// <summary>
                /// 
                /// </summary>
                public static readonly String SuggestionUsersUrl = "api.twitter.com/1.1/users/suggestions/{0}/members.json";
            }
            /// <summary>
            /// 
            /// </summary>
            public class Favorites
            {
                /// <summary>
                /// 
                /// </summary>
                public static readonly String GetFavoritesUrl = "api.twitter.com/1.1/favorites/list.json";
                /// <summary>
                /// 
                /// </summary>
                public static readonly String CreateFavoritesUrl = "api.twitter.com/1.1/favorites/create.json";
                /// <summary>
                /// 
                /// </summary>
                public static readonly String DestroyFavoritesUrl = "api.twitter.com/1.1/favorites/destroy.json";
            }
            /// <summary>
            /// 
            /// </summary>
            public class Lists
            {
                /// <summary>
                /// 
                /// </summary>
                public static readonly String GetAllListsUrl = "api.twitter.com/1.1/lists/list.json";
                /// <summary>
                /// 
                /// </summary>
                public static readonly String GetListsStatusesUrl = "api.twitter.com/1.1/lists/statuses.json";
                /// <summary>
                /// 
                /// </summary>
                public static readonly String DestroyListsMembersUrl = "api.twitter.com/1.1/lists/members/destroy.json";
                /// <summary>
                /// 
                /// </summary>
                public static readonly String GetListsMembershipsUrl = "api.twitter.com/1.1/lists/memberships.json";
                /// <summary>
                /// 
                /// </summary>
                public static readonly String GetListsSubscribersUrl = "api.twitter.com/1.1/lists/subscribers.json";
                /// <summary>
                /// 
                /// </summary>
                public static readonly String CreateListsSubscribersUrl = "api.twitter.com/1.1/lists/subscribers/create.json";
                /// <summary>
                /// 
                /// </summary>
                public static readonly String ShowListsSubscribersUrl = "api.twitter.com/1.1/lists/subscribers/show.json";
                /// <summary>
                /// 
                /// </summary>
                public static readonly String DestroyListsSubscribersUrl = "api.twitter.com/1.1/lists/subscribers/destroy.json";
                /// <summary>
                /// 
                /// </summary>
                public static readonly String CreateAllListsMembersUrl = "api.twitter.com/1.1/lists/members/create_all.json";
                /// <summary>
                /// 
                /// </summary>
                public static readonly String ShowListsMembersUrl = "api.twitter.com/1.1/lists/members/show.json";
                /// <summary>
                /// 
                /// </summary>
                public static readonly String GetListsMembersUrl = "api.twitter.com/1.1/lists/members.json";
                /// <summary>
                /// 
                /// </summary>
                public static readonly String CreateListsMembersUrl = "api.twitter.com/1.1/lists/members/create.json";
                /// <summary>
                /// 
                /// </summary>
                public static readonly String DestroyListsUrl = "api.twitter.com/1.1/lists/destroy.json";
                /// <summary>
                /// 
                /// </summary>
                public static readonly String UdateListsUrl = "api.twitter.com/1.1/lists/update.json";
                /// <summary>
                /// 
                /// </summary>
                public static readonly String CreateListsUrl = "api.twitter.com/1.1/lists/create.json";
                /// <summary>
                /// 
                /// </summary>
                public static readonly String GetListsUrl = "api.twitter.com/1.1/lists/ownerships.json";
                /// <summary>
                /// 
                /// </summary>
                public static readonly String ShowListsUrl = "api.twitter.com/1.1/lists/show.json";
                /// <summary>
                /// 
                /// </summary>
                public static readonly String GetListsSubscriptionsUrl = "api.twitter.com/1.1/lists/subscriptions.json";
                /// <summary>
                /// 
                /// </summary>
                public static readonly String DestroyAllListsMembersUrl = "api.twitter.com/1.1/lists/members/destroy_all.json";
            }
            /// <summary>
            /// 
            /// </summary>
            public class Accounts
            {
                /// <summary>
                /// 
                /// </summary>
                public static readonly String GetAccountVerifyCredentialsUrl = "api.twitter.com/1.1/account/verify_credentials.json";
                /// <summary>
                /// 
                /// </summary>
                public static readonly String UpdateDeliveryDeviceUrl = "api.twitter.com/1.1/account/update_delivery_device.json";
                /// <summary>
                /// 
                /// </summary>
                public static readonly String UpdateProfileUrl = "api.twitter.com/1.1/account/update_profile.json";
                /// <summary>
                /// 
                /// </summary>
                public static readonly String UpdateProfileBackgroundImageUrl = "api.twitter.com/1.1/account/update_profile_background_image.json";
                /// <summary>
                /// 
                /// </summary>
                public static readonly String UpdateProfileColorsUrl = "api.twitter.com/1.1/account/update_profile_colors.json";
                /// <summary>
                /// 
                /// </summary>
                public static readonly String UpdateProfileImageUrl = "api.twitter.com/1.1/account/update_profile_image.json";
                /// <summary>
                /// 
                /// </summary>
                public static readonly String GetAccountSettingsUrl = "api.twitter.com/1.1/account/settings.json";
                /// <summary>
                /// 
                /// </summary>
                public static readonly String UpdateAccountSettingUrl = "api.twitter.com/1.1/account/settings.json";
                /// <summary>
                /// 
                /// </summary>
                public static readonly String RemoveProfileBannerUrl = "api.twitter.com/1.1/account/remove_profile_banner.json";
                /// <summary>
                /// 
                /// </summary>
                public static readonly String UpdateProfileBannerUrl = "api.twitter.com/1.1/account/update_profile_banner.json";
            }
            /// <summary>
            /// 
            /// </summary>
            public class SavedSearches
            {
                /// <summary>
                /// 
                /// </summary>
                public static readonly String GetSavedSearchesUrl = "api.twitter.com/1.1/saved_searches/list.json";
                /// <summary>
                /// 
                /// </summary>
                public static readonly String GetSavedSearchesByIdUrl = "api.twitter.com/1.1/saved_searches/show/{0}.json";
                /// <summary>
                /// 
                /// </summary>
                public static readonly String CreateSavedSearchesUrl = "api.twitter.com/1.1/saved_searches/create.json";
                /// <summary>
                /// 
                /// </summary>
                public static readonly String DestroySavedSearchesIdUrl = "api.twitter.com/1.1/saved_searches/destroy/{0}.json";
            }
            /// <summary>
            /// 
            /// </summary>
            public class LocalTrends
            {
                /// <summary>
                /// 
                /// </summary>
                public static readonly String GetTrendsPlaceUrl = "api.twitter.com/1.1/trends/place.json";
                /// <summary>
                /// 
                /// </summary>
                public static readonly String GetTrendsClosestUrl = "api.twitter.com/1.1/trends/closest.json";
                /// <summary>
                /// 
                /// </summary>
                public static readonly String GetTrendsAvailableUrl = "api.twitter.com/1.1/trends/available.json";
            }
            /// <summary>
            /// 
            /// </summary>
            public class Help
            {
                /// <summary>
                /// 
                /// </summary>
                public static readonly String GetRateLimitStatusUrl = "api.twitter.com/1.1/application/rate_limit_status.json";
                /// <summary>
                /// 
                /// </summary>
                public static readonly String GetTosUrl = "api.twitter.com/1.1/help/tos.json";
                /// <summary>
                /// 
                /// </summary>
                public static readonly String GetPrivacyUrl = "api.twitter.com/1.1/help/privacy.json";
                /// <summary>
                /// 
                /// </summary>
                public static readonly String GetLanguagesUrl = "api.twitter.com/1.1/help/languages.json";
                /// <summary>
                /// 
                /// </summary>
                public static readonly String GetConfigurationUrl = "api.twitter.com/1.1/help/configuration.json";
                
            }
            /// <summary>
            /// 
            /// </summary>
            public class Geo
            {
                /// <summary>
                /// 
                /// </summary>
                public static readonly String GetGeoSimilarPlacesUrl = "api.twitter.com/1.1/geo/similar_places.json";
                /// <summary>
                /// 
                /// </summary>
                public static readonly String GetGeoSearchUrl = "api.twitter.com/1.1/geo/search.json";
                /// <summary>
                /// 
                /// </summary>
                public static readonly String GetGeoReverseGeoCodeUrl = "api.twitter.com/1.1/geo/reverse_geocode.json";
                /// <summary>
                /// 
                /// </summary>
                public static readonly String PostGeoPlaceUrl = "api.twitter.com/1.1/geo/create.json";
                /// <summary>
                /// 
                /// </summary>
                public static readonly String GetGeoPlaceByIDUrl = "api.twitter.com/1.1/geo/id/{0}.json";
            }
            /// <summary>
            /// 
            /// </summary>
            public class Blocks
            {
                /// <summary>
                /// 
                /// </summary>
                public static readonly String GetBlocksListUrl = "api.twitter.com/1.1/blocks/list.json";
                /// <summary>
                /// 
                /// </summary>
                public static readonly String GetBlocksIdsUrl = "api.twitter.com/1.1/blocks/ids.json";
                /// <summary>
                /// 
                /// </summary>
                public static readonly String CreateBlocksUrl = "api.twitter.com/1.1/blocks/create.json";
                /// <summary>
                /// 
                /// </summary>
                public static readonly String DestroyBlocksUrl = "api.twitter.com/1.1/blocks/destroy.json";
            }
        }
    }
}
